home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / misc / macro_1_0.readme < prev    next >
Text File  |  1992-11-30  |  4KB  |  108 lines

  1. Short: Records key strokes and replays them
  2.  
  3.      MACRO v1.0
  4.   
  5.    From an idea developed by Marco Munari for MS-DOS
  6.    Amiga implementation by Piero Filippin 
  7.  
  8.  
  9. WHAT IS MACRO?
  10.  
  11. Macro  is  a  small  utility  that  records  a  sequence of keypress and, if
  12. required, reinsert at current cursor position (even if another window).
  13.  
  14. This  is  version  1.0 - no configurable and slow - but it hasn't major bugs
  15. (known)  and  work  even with Kick 2.0.  It uses only (!?!) 12 KBytes (4 for
  16. buffer, 4 for stack and some for info window and code).
  17.  
  18. HOW MUST I USE MACRO?
  19.  
  20. Using is very simple:
  21.  
  22. Call it from CLI without using RUN:  MACRO puts itself in background (I used
  23. Lattice CBack.o).
  24.  
  25. When  MACRO  status  is  IDLE you can record some chars into buffer (LeftALT
  26. LeftShift  CTRL  [,  status:   Recording),  or  erase  if not empty (LeftALT
  27. LeftShift CTRL e, status:  Buffer cleared).
  28.  
  29. When  recording,  type what do you want, then press LeftALT LeftShift CTRL ]
  30. (status:   Recording)  to  terminate.  Now you are ready to insert this text
  31. everywhere  you  like  pressing  LeftALT  LeftShift  CTRL i (status:  Buffer
  32. inserted).
  33.  
  34. The buffer isn't cleared if not specified:  if you start recording and there
  35. are  some  chars  in buffers, new chars will be appended to buffer (so don't
  36. forget to delete it if needed!).
  37.  
  38. TECNICAL NOTES
  39.  
  40. The  program  install  a  new  input  handler  with  a priority greater than
  41. intuition  handler.   When an event occours in the system, control is passed
  42. to  myhandler().   This  function  checks  event list until if find a RAWKEY
  43. event.   If  the event is a MACRO control code, the function removes it from
  44. list  and send proper signal to main program, else it don't remove the event
  45. (so  it  can  be handled by Intuition).  The function RawKeyInsert inserts a
  46. new event into event-not-already-handled-by-intuition-routines.
  47.  
  48. To compile I used Lattice C 5.10:
  49.  
  50. lc -L -rr <-dINFOWINDOW> <-dDEBUG> <-dBUFFER=buffersize> macro.c
  51.  
  52. (It probably can be compiled only under recent Lattice versions)
  53.  
  54. If you defines INFOWINDOW, a window will be opened telling you MACRO current
  55. states.   You  can  also  define DEBUG, that print to CLI launch window some
  56. debug  infos,  but it makes start window unusable (I used it only for debug,
  57. when  I  haven't  yet decided to use a window).  With BUFFER, you can change
  58. the default size of the buffer (remember:  key_stored=buffersize/4 ).
  59.  
  60. LIMITATION AND BUGS
  61.  
  62. MACRO loss 2728 bytes when you quit (I don't know why)
  63. MACRO  has a standard buffer size of 4 KBytes; this means that it can record
  64. 4000/(sizeof(code)+sizeof(qualifier)) = 1000 keypress!
  65.  
  66. MACRO  uses  RAWKEY, so it is not setmap-sensitive.  It makes no differences
  67. when  you  record-insert,  but  command  keys  can change:  q , e , i , [, ]
  68. refers to a standard gb keyboard (they are TAB - row keys).
  69.  
  70. TAB q w e r t y u i o p [ ] RET
  71.  
  72. MACRO  sources  are  supplied, but it don't includes any #include (he he); I
  73. used precompiled headers ( -Hname under Lattice).
  74.  
  75. FUTURE IMPROMEMENTS
  76.  
  77. Multiple macro definitions
  78. Possibility of saving useful macros
  79. Macro display in info window
  80. Macro editing
  81. Keymap mapped control codes
  82. More speed
  83.  
  84. AUTOR NOTES
  85.  
  86. This  program  is  Public  Domain.  You can copy, distribute, spread if only
  87. with  its  doc  and  source.   You  cannot sell it.  I encourage to read the
  88. source, and use parts of it in your programs if they are PD else it requires
  89. written permission.
  90.  
  91. I  don't  require money if you use it, but it is obiously pleased (or if you
  92. prefer  other  PD  software,  greeting cards or your sister photo (if really
  93. nice), suggestion for improvement...)
  94.  
  95. I'm sorry for lots of error in this doc
  96.  
  97. My home address is:
  98.  
  99.     Via G.Cantore 10
  100.     Conegliano Veneto (TV)
  101.     31015 ITALY
  102.  
  103. My InterNet e-Mail address is:
  104.  
  105. omega@sabrina.dei.unipd.it (at Padova university)
  106.  
  107. *** END OF FILE ***
  108.